Matthias Clasen [Sat, 20 Jun 2020 21:21:29 +0000 (21:21 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
misc listview scrolling fixes
See merge request GNOME/gtk!2119
Matthias Clasen [Sat, 20 Jun 2020 20:35:23 +0000 (20:35 +0000)]
Merge branch 'incremental-colors' into 'master'
Incremental colors demo
See merge request GNOME/gtk!2121
Matthias Clasen [Sat, 20 Jun 2020 18:51:18 +0000 (18:51 +0000)]
Merge branch 'drop-down-selected-item' into 'master'
dropdown: Add GtkDropDown:selected-item
Closes #2861
See merge request GNOME/gtk!2120
Matthias Clasen [Sat, 20 Jun 2020 16:37:13 +0000 (12:37 -0400)]
gtk-demo: Make the colors demo populate incrementally
Add a refill button that incrementally refills the color
demo. This is useful to test how the grid view operates
when the model is frequently changed.
Matthias Clasen [Sat, 20 Jun 2020 12:48:29 +0000 (08:48 -0400)]
gtk-demo: Clean up initial selection handling
We call selection_cb now, so we don't need to manually
do part of what that call does ahead of time.
This should have been noticed in
10bcbae68c3faf8ae.
Matthias Clasen [Sat, 20 Jun 2020 17:12:52 +0000 (17:12 +0000)]
Merge branch 'gtk4-arb_fbo' into 'master'
Switch to GL_ARB_framebuffer_object
See merge request GNOME/gtk!2079
Matthias Clasen [Sat, 20 Jun 2020 17:11:48 +0000 (13:11 -0400)]
dropdown: Add GtkDropDown:selected-item
This is the same readonly property we have in
GtkSingleSelection.
Fixes: #2861
Matthias Clasen [Sat, 20 Jun 2020 16:18:17 +0000 (12:18 -0400)]
gtk-demo: Clean up memory handling in the weather demo
gtk_weather_info_new was consuming the info, but not
the timestamp, which confused me. Make it not consume
either, and be more explicit about where the unrefs
happen.
Matthias Clasen [Sat, 20 Jun 2020 16:11:59 +0000 (12:11 -0400)]
gridview: Don't assert on a condition that can happen
We are currently not robust against model changes or
widget invalidations, so we can actually end up in
situations where we run out of items here. Handle
the failure a bit more gracefully, by returning NULL.
This is good enough to make scrolling work okish most
of the time. We still need a proper fix to handle
other situations.
Benjamin Otte [Sat, 20 Jun 2020 16:08:46 +0000 (12:08 -0400)]
gridview: Compute right amount of items to skip
We only want to skip the remaining items in the current row, not since
the start of the widget.
Matthias Clasen [Sat, 20 Jun 2020 12:48:29 +0000 (08:48 -0400)]
gtk-demo: Clean up initial selection handling
We call selection_cb now, so we don't need to manually
do part of what that call does ahead of time.
This should have been noticed in
10bcbae68c3faf8ae.
Matthias Clasen [Fri, 19 Jun 2020 23:57:47 +0000 (23:57 +0000)]
Merge branch 'dnd-demo-animation' into 'master'
gtk-demo: Add animated icons to the dnd demo
See merge request GNOME/gtk!2117
Matthias Clasen [Fri, 19 Jun 2020 23:18:45 +0000 (19:18 -0400)]
gtk-demo: Add animated icons to the dnd demo
This is to test animated drag icons.
Matthias Clasen [Fri, 19 Jun 2020 22:24:36 +0000 (22:24 +0000)]
Merge branch 'listview-dnd' into 'master'
Listview dnd
See merge request GNOME/gtk!2116
Matthias Clasen [Fri, 19 Jun 2020 19:09:57 +0000 (15:09 -0400)]
testlistdnd: Use editable labels
Use editable labels instead of entries, and write
changes back to the model.
Matthias Clasen [Fri, 19 Jun 2020 19:24:24 +0000 (15:24 -0400)]
editablelabel: Allow to drag text
If we allow editing, we should allow direct drags too.
Matthias Clasen [Fri, 19 Jun 2020 19:08:43 +0000 (15:08 -0400)]
editablelabel: Accept text drops
This seems natural. If we allow editing, we should
allow drops too.
Matthias Clasen [Fri, 19 Jun 2020 16:37:39 +0000 (12:37 -0400)]
testlistdnd: Add a tree
This lets us test auto-expand of tree expanders.
Matthias Clasen [Fri, 19 Jun 2020 18:15:55 +0000 (14:15 -0400)]
expander: Remove a pointless return
GtkDropControllerMotion::enter does not expect
a boolean return value, so don't provide one.
Matthias Clasen [Fri, 19 Jun 2020 18:15:05 +0000 (14:15 -0400)]
treeexpander: Auto-expand during DND
When hovering over a tree expander during DND,
expand the tree after a timeout. This matches
the behavior of GtkTreeView and GtkExpander.
Matthias Clasen [Fri, 19 Jun 2020 12:51:32 +0000 (08:51 -0400)]
Add a list dnd example
Add a test for dnd with listview, gridview and columnview.
Matthias Clasen [Fri, 19 Jun 2020 16:23:28 +0000 (12:23 -0400)]
columnview: Increase the autoscroll threshold
With autoscroll during DND, we stop when you hit the edge
of the widget, so a larger threshold makes sense to avoid
hitting the edge by accident.
Matthias Clasen [Fri, 19 Jun 2020 16:22:25 +0000 (12:22 -0400)]
columnview: Autoscroll during DND
Use a drop motion controller to autoscroll horizontally
while a drag operation is hovering over the list. The
vertical scrolling is handled by the listview.
Matthias Clasen [Fri, 19 Jun 2020 15:54:12 +0000 (11:54 -0400)]
columnview: separate autoscroll from headers
Break out an update_autoscroll() function that can
be used for other things than header DND. It will
be used for autoscroll during DND in the future.
Matthias Clasen [Fri, 19 Jun 2020 13:58:31 +0000 (09:58 -0400)]
listbase: Don't use adjustments for autoscrolling
Don't consult the adjustments when determining
scroll deltas. It isn't necessary.
Matthias Clasen [Fri, 19 Jun 2020 12:19:34 +0000 (08:19 -0400)]
listbase: Increase the autoscroll threshold
With autoscroll during DND, we stop when you hit the edge
of the widget, so a larger threshold makes sense to avoid
hitting the edge by accident.
Matthias Clasen [Fri, 19 Jun 2020 12:18:54 +0000 (08:18 -0400)]
listbase: Autoscroll during DND
Use a drop motion controller to autoscroll while
a drag operation is hovering over the list.
Matthias Clasen [Fri, 19 Jun 2020 12:03:51 +0000 (08:03 -0400)]
listbase: separate autoscroll from rubberband
Break out an update_autoscroll() function that can
be used for other things than rubberbanding. It will
be used for autoscroll during DND in the future.
Matthias Clasen [Fri, 19 Jun 2020 16:17:27 +0000 (16:17 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2115
Matthias Clasen [Fri, 19 Jun 2020 15:40:54 +0000 (11:40 -0400)]
columview: Fix cell creation
We were getting lost in the columnview internal
structure here. The rows are children of the listview,
not of the columnview itself.
Matthias Clasen [Thu, 18 Jun 2020 11:48:56 +0000 (07:48 -0400)]
gtk-demo: Modernize the tag entry demo
Use a layout manager, and reduce boilerplate.
Matthias Clasen [Thu, 18 Jun 2020 03:42:21 +0000 (23:42 -0400)]
Revert "notebook: Don't capture clicks"
This reverts commit
37eb0496b60f3612f15fd9d0fb43a3e3f2ecc144.
This change broke notebook scroll arrows.
Benjamin Otte [Fri, 19 Jun 2020 15:20:32 +0000 (15:20 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
listbase: Fix copy/paste error
See merge request GNOME/gtk!2114
Benjamin Otte [Fri, 19 Jun 2020 13:50:10 +0000 (15:50 +0200)]
listbase: Fix copy/paste error
This could lead to "flickering" scroll behavior when scrolling
horizontally.
Florentina Mușat [Fri, 19 Jun 2020 06:17:36 +0000 (06:17 +0000)]
Update Romanian translation
Timm Bäder [Fri, 19 Jun 2020 03:58:09 +0000 (05:58 +0200)]
stack: Avoid using an uninitialized value
This was showing up as criticals since for_size != >= -1.
Timm Bäder [Thu, 18 Jun 2020 05:55:22 +0000 (07:55 +0200)]
stack: Add missing accessors for GtkStackPage properties
Timm Bäder [Mon, 15 Jun 2020 08:30:40 +0000 (10:30 +0200)]
stack: Fix some documentation mishaps
Timm Bäder [Sat, 13 Jun 2020 19:25:21 +0000 (21:25 +0200)]
stack: Fix :needs-attention docs
This is a property on GtkStackPage these days.
Timm Bäder [Sat, 13 Jun 2020 18:40:40 +0000 (20:40 +0200)]
widget: Don't leak css transform
Timm Bäder [Sat, 13 Jun 2020 06:39:19 +0000 (08:39 +0200)]
treeview: Remove identical if branches
Fixes #2725
Timm Bäder [Sat, 13 Jun 2020 06:25:51 +0000 (08:25 +0200)]
transform: Fix docs to use "transform" instead of "matrix"
Timm Bäder [Fri, 12 Jun 2020 19:40:34 +0000 (21:40 +0200)]
stack: stop keeping a cached child render node around
All widgets cache their render node already. Just allocate the
last_visible_child always at 0/0 and then move its rendernode around
during snapshot.
Fixes #2678
Timm Bäder [Fri, 12 Jun 2020 06:42:15 +0000 (08:42 +0200)]
cssselector: Only copy max_selector once
Timm Bäder [Fri, 12 Jun 2020 04:24:32 +0000 (06:24 +0200)]
numbervalue: Remove some leftover debugging code
Timm Bäder [Thu, 11 Jun 2020 13:30:34 +0000 (15:30 +0200)]
builder: Use default size of 8 for the ObjectProperty arrays
Timm Bäder [Thu, 11 Jun 2020 13:07:21 +0000 (15:07 +0200)]
builder: Avoid allocating things we don't use
We pretty often have no parameters at all, so avoid allocating
ObjectProperties+GArray+GPtrArray in that case.
Timm Bäder [Sun, 7 Jun 2020 11:11:33 +0000 (13:11 +0200)]
Avoid calling g_list_model_get_n_items() all the time
These are used in hot paths, e.g. widget construction.
Timm Bäder [Sun, 7 Jun 2020 07:37:20 +0000 (09:37 +0200)]
transform: Fix equal() docs
This has nothing to do with matrices.
Timm Bäder [Sun, 7 Jun 2020 07:36:56 +0000 (09:36 +0200)]
window: Add automatic titlebar before content widget
Just like we do with explicitly set titlebars
Timm Bäder [Sun, 7 Jun 2020 06:45:35 +0000 (08:45 +0200)]
transform: Compare 3d points directly
Timm Bäder [Sun, 7 Jun 2020 06:23:06 +0000 (08:23 +0200)]
window: Don't add class to css node directly
Use gtk_widget_add_css_class instead
Timm Bäder [Sun, 7 Jun 2020 06:22:09 +0000 (08:22 +0200)]
window: Stop adding css nodes manually
No decoration node, no need to do this.
Timm Bäder [Sun, 7 Jun 2020 06:19:14 +0000 (08:19 +0200)]
window: Remove dead code
There is no decoration node anymore.
Timm Bäder [Sat, 6 Jun 2020 13:38:53 +0000 (15:38 +0200)]
adwaita: Use proper transform for spinners
Timm Bäder [Sat, 6 Jun 2020 13:22:08 +0000 (15:22 +0200)]
widget: don't queue a redraw on css transform changes
Timm Bäder [Sat, 6 Jun 2020 13:13:23 +0000 (15:13 +0200)]
csstransformvalue: Make no-transform case explicit
Timm Bäder [Sat, 6 Jun 2020 10:22:46 +0000 (12:22 +0200)]
widget: Re-shuffle preconditions in snapshot_child()
The GtkNative type check is more expensive than the mapped one, so avoid
the former for unmapped widgets
Timm Bäder [Sat, 6 Jun 2020 10:09:10 +0000 (12:09 +0200)]
widget: Avoid doing GtkSnapshot work just to append one node
We already know that a widget will have literally 1 node, not more.
Avoid doing the GtkSnapshot state stack dance and just append a new
transform node instead.
Seems to give me around 400 more icons in the fishbowl
Timm Bäder [Sat, 6 Jun 2020 07:05:49 +0000 (09:05 +0200)]
gsktransform: Make next == NULL case explicit
This is handled with the is_identity() check as well but this way it's
much more obvious what's happening
Timm Bäder [Sat, 6 Jun 2020 06:31:35 +0000 (08:31 +0200)]
fishbowl: Remove visibility handling
First, almost all widgets are either visible and mapped, or visible and
unmapped because they are !child_visible. In both cases, we do care
about the size. If they are indeed invisible, gtk_widget_measure() will
take care of that by returning all 0.
And gtk_widget_unparent() already queues a resize on the parent if
necessary, so that is unneeded as well.
Timm Bäder [Sat, 6 Jun 2020 06:13:00 +0000 (08:13 +0200)]
Fix print dialog node name
Matthias Clasen [Fri, 19 Jun 2020 00:09:03 +0000 (00:09 +0000)]
Merge branch 'better-naming' into 'master'
Stop using loaded terms
See merge request GNOME/gtk!2109
Matthias Clasen [Thu, 18 Jun 2020 21:43:59 +0000 (21:43 +0000)]
Merge branch 'quartz-openfile-fix' into 'master'
quartz: gtk-application - inhibit openFiles events from cmdline
See merge request GNOME/gtk!2112
Friedrich Beckmann [Thu, 18 Jun 2020 19:08:28 +0000 (21:08 +0200)]
quartz: gtk-application - inhibit openFiles events from cmdline
When an application is started via cmdline, then openFiles events
from MacOS are generated although gtkapplication already interprets
the cmdline arguments and opens suitable arguments as files. So they
would be opened twice. Depending on the exact situation the
openFiles event can also be issued before the startup signal
is given. Depending on the application this can result in a crash
due to unexpected behaviour. I took this idea from the
gedit-app-osx.m file. Also from Jesse van den Kieboom.
See:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2098#note_842975
https://gitlab.gnome.org/GNOME/gtk/-/commit/
a3ad7fa80f764fb7bcbe
https://gitlab.gnome.org/GNOME/gedit/-/blob/master/gedit/gedit-app-osx.m#L592
Emmanuele Bassi [Thu, 18 Jun 2020 18:22:20 +0000 (19:22 +0100)]
Rename master and slave device
We already use the "logical/virtual" and "physical" names in the
documentation, there's no reason to use loaded terms just because X11
uses them.
Emmanuele Bassi [Thu, 18 Jun 2020 16:43:46 +0000 (17:43 +0100)]
Use the appropriate name for Juneteenth
Juneteenth (a portmanteau of June and nineteenth)[2] (also known as
Freedom Day,[3] Jubilee Day,[4] and Liberation Day,[5]) is an unofficial
American holiday celebrated annually on the 19th of June in the United
States.
-- https://en.wikipedia.org/wiki/Juneteenth
Emmanuele Bassi [Thu, 18 Jun 2020 16:36:44 +0000 (17:36 +0100)]
Clarify document
We don't use the branch name to determine whether we should enable or
disable deprecation warnings coming from our dependencies.
Emmanuele Bassi [Thu, 18 Jun 2020 16:33:30 +0000 (17:33 +0100)]
Rename internal object for the Quartz input method context
Like GtkIMMultiContext, the Quartz input method object uses a delegate
object internally. Let's not use loaded terms like "slave".
Emmanuele Bassi [Thu, 18 Jun 2020 16:32:05 +0000 (17:32 +0100)]
Rename delegate input method context
The GtkIMMultiContext uses a delegate pattern to proxy an existing input
method context. Let's not use loaded terms like "slave" when we have
perfectly fungible terms like "delegate".
Emmanuele Bassi [Thu, 18 Jun 2020 16:31:48 +0000 (17:31 +0100)]
Rename (unused) argument
Emmanuele Bassi [Thu, 18 Jun 2020 16:21:09 +0000 (17:21 +0100)]
docs: Clean up the GtkBuilder description
Drop the reference to a long since removed RNC schema file and to
GtkUIManager; clean up the typography for code elements.
Emmanuele Bassi [Thu, 18 Jun 2020 16:20:56 +0000 (17:20 +0100)]
Fix typo in a comment
Emmanuele Bassi [Thu, 18 Jun 2020 15:58:43 +0000 (16:58 +0100)]
cups: Use allow/ignore list
Don't use loaded terms like "whitelist" and "blacklist".
Emmanuele Bassi [Thu, 18 Jun 2020 15:57:27 +0000 (16:57 +0100)]
Update a comment
Drop the use of "blacklist" from the comment, since everything else
refers to "ignored" properties.
Yuri Chornoivan [Thu, 18 Jun 2020 15:29:05 +0000 (15:29 +0000)]
Update Ukrainian translation
Matthias Clasen [Thu, 18 Jun 2020 15:22:53 +0000 (15:22 +0000)]
Merge branch 'typo_fix' into 'master'
Fix minor typos
See merge request GNOME/gtk!2108
Yuri Chornoivan [Thu, 18 Jun 2020 07:47:16 +0000 (10:47 +0300)]
Fix minor typos
Matthias Clasen [Thu, 18 Jun 2020 03:21:18 +0000 (03:21 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2107
Matthias Clasen [Tue, 16 Jun 2020 20:22:19 +0000 (16:22 -0400)]
gtk-demo: Fix the settings demo
This was not updated to the latest api of GtkEditableLabel.
Matthias Clasen [Wed, 17 Jun 2020 22:08:17 +0000 (18:08 -0400)]
gtk-demo: Cosmetic changes
Reword the titles and texts for several demos.
Matthias Clasen [Wed, 17 Jun 2020 22:06:28 +0000 (18:06 -0400)]
gtk-demo: Cosmetic changes to the tagged entry demo
Matthias Clasen [Wed, 17 Jun 2020 21:53:40 +0000 (17:53 -0400)]
gtk-demo: Fix the tagged entry demo
We were using gtk_box_append on a button. Fallout
from the container removal.
Matthias Clasen [Wed, 17 Jun 2020 21:46:40 +0000 (17:46 -0400)]
gtk4-demo: Cosmetic fixes to the dialog demo
Make this look a bit less ancient.
Matthias Clasen [Wed, 17 Jun 2020 21:16:17 +0000 (21:16 +0000)]
Merge branch 'matthiasc/cloudprovider-ci' into 'master'
Matthiasc/cloudprovider ci
See merge request GNOME/gtk!2106
Matthias Clasen [Wed, 17 Jun 2020 20:19:55 +0000 (16:19 -0400)]
Fix another cloudprovider include
Matthias Clasen [Wed, 17 Jun 2020 17:48:40 +0000 (13:48 -0400)]
gtk-demo: Add a missing source file
Emmanuele Bassi [Wed, 17 Jun 2020 19:49:57 +0000 (20:49 +0100)]
Use the appropriate include for libcloudproviders
Libcloudproviders has a single header entry point, so we shouldn't
include a sub-header.
Additionally, the include path provided by the pkg-config file is:
-I${includedir}/cloudproviders
So the include directive should be:
#include <cloudproviders.h>
The fact that it worked until now was an accident caused by the blanket:
-I${includedir}
we get for free; it broke the build when using libcloudproviders as a
subproject.
Emmanuele Bassi [Mon, 8 Jun 2020 10:37:29 +0000 (11:37 +0100)]
ci: Enable libcloudproviders support
We ended up breaking the build when it's enabled, so we should test the
feature in our CI pipeline.
Emmanuele Bassi [Tue, 9 Jun 2020 14:46:32 +0000 (15:46 +0100)]
Add libcloudproviders as a fallback subproject
We require a new version of libcloudproviders so that we can enable it
in our CI pipeline.
Matthias Clasen [Wed, 17 Jun 2020 17:37:12 +0000 (17:37 +0000)]
Merge branch 'fix-initial-demo-selection' into 'master'
gtk-demo: Select the initial demo properly
See merge request GNOME/gtk!2105
Emmanuele Bassi [Wed, 17 Jun 2020 16:54:06 +0000 (16:54 +0000)]
Merge branch 'no-more-testdbus' into 'master'
Stop using GTestDBus
See merge request GNOME/gtk!2104
Matthias Clasen [Wed, 17 Jun 2020 16:25:28 +0000 (12:25 -0400)]
gtk-demo: Select the initial demo properly
GtkSingleSelection does not give us a notification when
autoselect kicks in to select the first item. This was
barely noticeable, since the notebook ends up correctly
populated anyway, but the window title is not.
Matthias Clasen [Wed, 17 Jun 2020 16:05:07 +0000 (12:05 -0400)]
Stop using GTestDBus
It is causing tests to timeout when libraries we are using
leak bus connections, and it turns out our tests run fine
without a session bus.
Florentina Mușat [Wed, 17 Jun 2020 15:38:14 +0000 (15:38 +0000)]
Update Romanian translation
Florentina Mușat [Wed, 17 Jun 2020 15:31:22 +0000 (15:31 +0000)]
Update Romanian translation
Matthias Clasen [Wed, 17 Jun 2020 15:06:44 +0000 (15:06 +0000)]
Merge branch 'ebassi/ci-cleanup-master' into 'master'
Small clean ups for the CI file
See merge request GNOME/gtk!2102
Emmanuele Bassi [Mon, 8 Jun 2020 10:35:49 +0000 (11:35 +0100)]
ci: Move backend Meson flags into a variable
So we don't have to copy them around.
Emmanuele Bassi [Mon, 8 Jun 2020 10:00:20 +0000 (11:00 +0100)]
ci: Move images into environment variables
Currently we have to hunt all the `image` keys when updating the image
in use for a job. We should centralise them all at the top of the file,
so they are easy to update in one simple change.
Daniel Mustieles [Wed, 17 Jun 2020 11:54:04 +0000 (13:54 +0200)]
Updated Spanish translation